#!/bin/env python3
###Please running this script by ROOT!
import os
import sys
import time

cur_path = os.getcwd()
f = open('/etc/environment','r+')
env = f.read()
path = '/etc'
f.close()
##判断是否已进行更改###
if  env.find('GTK_IM_MODULE=fcitx')!=-1 or env.find('QT_IM_MODULE=fcitx')!=-1 or env.find('SDL_IM_MODULE=fcitx')!=-1:
    print('-警告:您貌似已经对/etc/environment文件进行了输入法环境变量的修改,请先在/etc/environment删除您对fcitx5的修改!')
    time.sleep(3)
    sys.exit(1)
else:
    print('-正在写入环境变量以实现对Fcitx5的完整支持')
    os.system(f'cd {path} && echo "\nXMODIFIERS=@im=fcitx" >> environment')
    os.system(f'cd {path} && echo "QT_IM_MODULE=fcitx" >> environment')
    os.system(f'cd {path} && echo "GTK_IM_MODULE=fcitx" >> environment')
    os.system(f'cd {path} && echo "SDL_IM_MODULE=fcitx" >> environment')
    print('-写入成功!')

#执行放置Fcitx5的桌面文件实现自启动
if os.system('lsb_release') != 0:
    print ('-FATAL:请在您的发行版内先安装lsb_release命令!')
    sys.exit(1)

distro = os.popen('lsb_release -d').read()  # distro变量用于存储lsb_release -d返回的发行版信息
if (distro.find('Deepin') != -1 or distro.find('deepin') != -1) and distro.find('25')!=-1:  # 跳过deepin v25的环境变量设置
    print ('识别到deepin v25发行版,已跳过环境变量设置! (Deepin v25已进行对应的环境变量设置)')
    sys.exit(0)
if os.system(f'{cur_path}/set-fcitx5-autoboot.sh') == 0:
    print ('-已设置Fcitx5自启动!')
else:
    print ('-设置Fcitx5自启动失败,请自行排查问题!')
